package n2092;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {

	static int a[]=new int[10001];
	
	
	
	
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{

		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String line=null;
		while((line=bf.readLine())!=null)
		{
			StringTokenizer st=new StringTokenizer(line);
			int N=Integer.parseInt(st.nextToken());
			int M=Integer.parseInt(st.nextToken());
			if(N==0&&M==0)break;
			int max=0,sec=0,maxN=0;
			Arrays.fill(a, 0);
			for(int i=0;i<N;i++)
			{
				st=new StringTokenizer(bf.readLine());
				for(int j=0;j<M;j++)
				{
					int cur=Integer.parseInt(st.nextToken());
					if(cur>maxN)maxN=cur;
					a[cur]++;
					/**
					 * 写在下面的代码一定要放在循环外面，不然就挂了，例如：
					 * 4 2
					 * 1 2
					 * 2 1
					 * 2 3
					 * 2 3
					 * 这组数据，自己推一下。
					 */
//					if(a[cur]>max)
//					{
//						sec=max;
//						max=a[cur];
//					}else if(a[cur]>sec&&a[cur]<max)
//					{
//						sec=a[cur];
//					}
				}
			}
			
			for(int i=1;i<=maxN;i++)
			{
				if(a[i]>max)
				{
					sec=max;
					max=a[i];
				}else if(a[i]>sec&&a[i]<max)
				{
					sec=a[i];
				}
			}
			
			
			//boolean flag=false;
			for(int i=1;i<=maxN;i++)
			{
				if(a[i]==sec) {
					System.out.print(i+" ");
					//flag=true;
				}
			}
			System.out.println();
		}
	}

}
